#ifndef _DEBUG_HPP
#define	_DEBUG_HPP

#include <string>
#include <iostream>
using std::ostream;

#include "ast.hpp"
#include "parser.hpp"


namespace ast {

class DebugVisitor : public Visitor {

public:
  DebugVisitor(ostream&);

  void visit(DataSection&);
  void visit(Directive&);

  void visit(TextSection&);
  void visit(Instruction&);
  void visit(Operand&);
  
protected:
  ostream& out;
};

}

#endif	/* _DEBUG_HPP */

